#include <REGX52.H>

void delay_ms(unsigned int ms)
{
    unsigned int i, j;
    for (i = 0; i < ms; i++)
    {
        for (j = 0; j < 123; j++)
            ;
    }
}
//实现从左向右的流水灯，流动到最后一个灯之后，所有灯全亮，然后重新开始从左向右流动
void main()
{
    unsigned char i;
    //0111 1111
    unsigned char temp= 0x80;
    // 全部置为1，熄灭
    P2 = 0x00;//P2_0-7的所有端口的控制
    while (1)
    {
       for (i = 0; i < 8; i++)
        {
            P2 = ~temp;
            delay_ms(300);
            // temp = temp << 1;
            temp >>= 1;
        }
        P2=0x00;
        delay_ms(300);
        temp = 0x80;
    }
}